/**********************************************************************************************/		
/* TestCommon.h																				  */
/*																							  */
/* Common test functions															          */
/* Copyright Diamant Software, 2011															  */
/* All Rights Reserved.																	  	  */
/**********************************************************************************************/
#ifndef _TESTCOMMON_H_
#define _TESTCOMMON_H_

#include "wx/wx.h"
#include "SmartMacros.h"

/**********************************************************************************************/
// enum for test states
enum TEST_STATUS
{
	tPASSED,		
	tFAILED,		
	tSKIPPED
};


/**********************************************************************************************/
typedef	bool				(*TestFunction) ( void );

/**********************************************************************************************/
SMART_CLASS( TestItem );


/**********************************************************************************************/
class TestItem
{

	public://///////////////////////////////////////////////////////////////////////////////////

							TestItem();

							TestItem( wxString inName, TestFunction inFunc );

							~TestItem()
								{}

	public://///////////////////////////////////////////////////////////////////////////////////

		wxString			get_TestName()
								{ return m_TestName; }									
		void				set_TestName( wxString inName )
								{ m_TestName = inName; }
		TestFunction		get_TestFunction()
								{ return m_Func; }
		void				set_TestFunction( TestFunction inFunc )
								{ m_Func = inFunc;	}

	public://///////////////////////////////////////////////////////////////////////////////////

//static	TestFunction		m_


	private:////////////////////////////////////////////////////////////////////////////////////

		TestFunction		m_Func;			// Pointer to the test function;
		wxString			m_TestName;		// Test name
};


/**********************************************************************************************/
		// Function for initialization all variables, needed for tests 
		void				InitAll( void );

	
#endif //_TESTCOMMON_H_